#include <Ogre.h>


class SoundEffects{

public:

//general

Ogre::String name;
bool isStandard;
int timeout;

bool overtime;
int overtimeTimer;
SoundEffects* overtimeTemporary;

//effects

int min_distance;
int max_distance;

float pitch;
float volume;
float distance_effect_scale;
float doppler_effect_scale;
float rolloff_scale;


/*
cone --- pan


*/



//methods

SoundEffects(Ogre::String name);
~SoundEffects();

void update(unsigned long mills);

void setOverTimeTemporary(SoundEffects effects,int time);

const SoundEffects operator+= (SoundEffects lhs);

private:
void initNull();

void synchronize(SoundEffects* seffects);
void updateOvertimeValues(unsigned long millis);
void createOverTimeTemporary(SoundEffects effects, int time);

};

const SoundEffects operator+ (const SoundEffects lhs,const SoundEffects rhs);